﻿using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;

namespace GiftNet.IDAL
{	
    #region dbo.Occasion IDAL -(by fangyifeng at 2007-09-14 14:37:07)
	public interface IOccasion
	{ 			
		/// <summary>
		/// Check exists for PrimaryKey
		/// </summary>
		bool Exists(Guid OccasionId);	
		
		/// <summary>
		/// Add record for model
		/// </summary>
		bool Add(GiftNet.Model.Occasion Occasionmodel);
		
		
		/// <summary>
		/// Add record for model, and return the key object
		/// </summary>
		object AddWithReturnKey(GiftNet.Model.Occasion Occasionmodel);
		
		
		/// <summary>
		/// Update record for model		
		/// </summary>
		bool Update(GiftNet.Model.Occasion Occasionmodel);		
		
		/// <summary>
		/// Delete record for PrimaryKey
		/// </summary>
		bool Delete(Guid OccasionId);
		
		/// <summary>
		/// Delete record 
		/// </summary>
		bool Delete(GiftNet.Model.Occasion Occasionmodel);
		
		/// <summary>
		/// Get Model fro PrimaryKey
		/// </summary>
        GiftNet.Model.Occasion GetModel(Guid OccasionId);
		
		/// <summary>
        /// Get ModelList fro Where no suppose Page
        /// </summary>
        /// <param name="strWhere">strWhere,need insert KeyWord->WHERE IF you need this Param</param>
		/// <param name="strOrderBy">strOrderBy,need insert KeyWord->Order By IF you need this Param</param>
        /// <returns>IList&lt;GiftNet.Model.Occasion&gt;</returns>
		IList<GiftNet.Model.Occasion> GetModelList(string strWhere);
		
		/// <summary>
        /// Get ModelList fro Where suppose Page
        /// </summary>
        /// <param name="PageSize">PageSize</param>
        /// <param name="PageIndex">PageIndex</param>
        /// <param name="recordCount">recordCount</param>
        /// <param name="strWhere">strWhere</param>
        /// <returns>IList&lt;GiftNet.Model.Occasion&gt;</returns>
		IList<GiftNet.Model.Occasion> GetModelList(int PageSize, int PageIndex, out int recordCount, string strWhere);
	}
	#endregion
}

